package kr.co.mangani.sumtest;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Process;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
	private boolean isWaitClose = false;
	private Context mContext;
	
	Button bt0;
	Button bt1;
	Button bt2;
	Button bt3;
	Button bt4;
	Button bt5;
	Button bt6;
	Button bt7;
	Button bt8;
	Button bt9;
	Button btplus;
	Button btresult;
	Button clear;
	
	EditText showtext;
	EditText curtext;
	
	static int result;
	static boolean Flag=false;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		mContext = this;
		
		attachEvent();
		
		
	}
	
	private void attachEvent() {
		bt0 = (Button)findViewById(R.id.button0);
		bt1 = (Button)findViewById(R.id.button1);
		bt2 = (Button)findViewById(R.id.button2);
		bt3 = (Button)findViewById(R.id.button3);
		bt4 = (Button)findViewById(R.id.button4);
		bt5 = (Button)findViewById(R.id.button5);
		bt6 = (Button)findViewById(R.id.button6);
		bt7 = (Button)findViewById(R.id.button7);
		bt8 = (Button)findViewById(R.id.button8);
		bt9 = (Button)findViewById(R.id.button9);
		btplus = (Button)findViewById(R.id.buttonplus);
		btresult = (Button)findViewById(R.id.buttonresult);
		
		clear = (Button)findViewById(R.id.clear);
		
		showtext = (EditText)findViewById(R.id.showText);
//		showtext.requestFocus();
		
		curtext = (EditText)findViewById(R.id.curText);
		
		curtext.setVisibility(View.GONE);		
		
		bt0.setOnClickListener(this);
		bt1.setOnClickListener(this);
		bt2.setOnClickListener(this);
		bt3.setOnClickListener(this);
		bt4.setOnClickListener(this);
		bt5.setOnClickListener(this);
		bt6.setOnClickListener(this);
		bt7.setOnClickListener(this);
		bt8.setOnClickListener(this);
		bt9.setOnClickListener(this);
		btplus.setOnClickListener(this);
		btresult.setOnClickListener(this);
		clear.setOnClickListener(this);
		
		Log.d("SUMLOG", "attachEvent");
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button0:
//			Log.d("SUMLOG", bt0.getText().toString());			
//			showtext.setText(bt0.getText().toString());
//			if(Flag)
//			{
//				Log.d("SUMLOG", "여기들어오남?");
//				init_number();
//				Flag=true;
//			}
//			else
//			{
			showtext.append("0");
			curtext.append("0");
//			}
//			Toast.makeText(this, bt0.getText().toString(), Toast.LENGTH_SHORT).show();
			break;
		case R.id.button1:
			showtext.append("1");
			curtext.append("1");
			break;
		case R.id.button2:
			showtext.append("2");
			curtext.append("2");
			break;
		case R.id.button3:
			showtext.append("3");
			curtext.append("3");
			break;
		case R.id.button4:
			showtext.append("4");
			curtext.append("4");
			break;
		case R.id.button5:
			showtext.append("5");
			curtext.append("5");
			break;
		case R.id.button6:
			showtext.append("6");
			curtext.append("6");
			break;
		case R.id.button7:
			showtext.append("7");
			curtext.append("7");
			break;
		case R.id.button8:
			showtext.append("8");
			curtext.append("8");
			break;
		case R.id.button9:
			showtext.append("9");
			curtext.append("9");
			break;	
		case R.id.buttonplus:
			showtext.append(" + ");
			plus(curtext.getText().toString());
			break;
		case R.id.buttonresult:
			showtext.setText("");
			curtext.getText().toString();
			result(curtext.getText().toString());
			break;
		case R.id.clear:
			init_number();
			break;
		}
	}

	private void result(String str) {
		// TODO Auto-generated method stub

		int num = Integer.parseInt(str);
		result = result + num;
		showtext.append("" + result);
			
		curtext.setText("0");
		Flag = true;
	}

	private void plus(String str) {
		// TODO Auto-generated method stub
		
		int num = Integer.parseInt(str);
		result = result + num;
		
		curtext.setText("0");
		
	}
	
	private void init_number()
	{
		showtext.setText("0");
		curtext.setText("0");
		result = 0;
	}
	
	//백버튼 공통 처리
	@Override
	public void onBackPressed() {
		if (isWaitClose) {
			Process.killProcess(Process.myPid());			
		} else {
				Toast.makeText(mContext,R.string.toast_app_finish, Toast.LENGTH_SHORT).show();
				isWaitClose = true;
				TimerTask task = new TimerTask() {
					@Override
					public void run() {
						isWaitClose = false;
					}
				};
				Timer scheduler = new Timer();
				scheduler.schedule(task, 2000);
			}
	}
	
	
	
//	private void strArray(String str, Boolean Flag)
//	{
//		//number[i]
//		int i=cnt;
//		
//		//String append
//		sumstr = number[i].toString() + str;	
//		
//		if(Flag)
//		{		
//			number[i] = sumstr;			
//			cnt++;
//		}				
//		return;		
//	}
	
}
